import Hello from './Hello'

export default {
  // 2. 插件的声明函数必须要叫做  install
  install(Vue) {
    // 2.1 形参接收的是Vue的构造函数
    // console.log(Vue)

    // 2.2 功能1 - 自定义指令
    Vue.directive('guigu-slice', function (el, { value }) {
      if (typeof value !== 'string') {
        throw Error('请传入字符')
      }
      el.textContent = value.slice(0, 3)
    })

    // 2.3 功能2 - 过滤器
    Vue.filter('heihei', function (val, x) {
      const num = val / 1000 + ''
      const strArr = num.split('')
      strArr[2] = ','
      return x + strArr.join('')
    })

    // 2.4 功能3 - 全局组件注册
    Vue.component('Hello', Hello)

    // 2.5 功能4 - Vue原型挂载方法和属性
    Vue.prototype.chenwei = 100

    Vue.prototype.sayHi = function () {
      console.log('hi')
    }
  }
}
